package com.xiaotao.entity;


import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.*;
import org.springframework.format.annotation.DateTimeFormat;

import java.time.LocalDateTime;
import java.util.Date;

/**
 * 用户签到记录表实体类
 * 对应数据库表：user_sign
 */
@NoArgsConstructor
@AllArgsConstructor
@Data
@ToString
public class UserSign {

    /**
     * 主键ID（自增）
     */
    private Integer id;

    /**
     * 用户ID（关联user表的id）
     */
    private Integer userId;

    /**
     * 签到日期（如2025-11-15）
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime date;

    /**
     * 签到奖励积分（默认5分，可根据连续签到调整）
     */
    private Integer points;

    /**
     * 签到状态：1=已签到，0=未签到（冗余字段，主要靠date判断）
     */
    private Integer status;

    /**
     * 创建时间（自动填充）
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime createTime;

    /**
     * 更新时间（自动填充）
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime updateTime;
}